package com.easysoft.framework.menu.model;

import com.easysoft.commons.utils.JSONUtils;

import java.io.Serializable;
import java.util.Date;

public class SysMenu implements Serializable {

    /** 主键 */
    private String id;

    /** 父节点ID */
    private String parentId;

    /** 父类名称 */
    private String parentMenuName;

    /** 菜单编码 */
    private String menuCode;

    /** 菜单名称 */
    private String menuName;

    /** 菜单链接 */
    private String menuHref;

    /** 图标 */
    private String menuIcon;

    /** 层级关系 */
    private Integer menuLevel;

    /** 链接标识 */
    private Integer mid;

    /** 是否启用 */
    private Integer disable;

    /** 操作人 */
    private String operator;

    /** 操作时间 */
    private Date createTime;

    /** 更新时间 */
    private Date updateTime;

    private static final long serialVersionUID = 1L;

    /**
     * 返回主键
     *
     * @return ID
     */
    public String getId() {
        return id;
    }

    /**
     * 设置主键
     *
     * @param id 主键
     */
    public void setId(String id) {
        this.id = id;
    }

    /**
     * 返回父节点ID
     *
     * @return PARENT_ID
     */
    public String getParentId() {
        return parentId;
    }

    /**
     * 设置父节点ID
     *
     * @param parentId 父节点ID
     */
    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    /**
     * 返回父类名称
     *
     * @return PARENT_MENU_NAME
     */
    public String getParentMenuName() {
        return parentMenuName;
    }

    /**
     * 设置父类名称
     *
     * @param parentMenuName 父类名称
     */
    public void setParentMenuName(String parentMenuName) {
        this.parentMenuName = parentMenuName;
    }

    /**
     * 返回菜单编码
     *
     * @return MENU_CODE
     */
    public String getMenuCode() {
        return menuCode;
    }

    /**
     * 设置菜单编码
     *
     * @param menuCode 菜单编码
     */
    public void setMenuCode(String menuCode) {
        this.menuCode = menuCode;
    }

    /**
     * 返回菜单名称
     *
     * @return MENU_NAME
     */
    public String getMenuName() {
        return menuName;
    }

    /**
     * 设置菜单名称
     *
     * @param menuName 菜单名称
     */
    public void setMenuName(String menuName) {
        this.menuName = menuName;
    }

    /**
     * 返回菜单链接
     *
     * @return MENU_HREF
     */
    public String getMenuHref() {
        return menuHref;
    }

    /**
     * 设置菜单链接
     *
     * @param menuHref 菜单链接
     */
    public void setMenuHref(String menuHref) {
        this.menuHref = menuHref;
    }

    /**
     * 返回图标
     *
     * @return MENU_ICON
     */
    public String getMenuIcon() {
        return menuIcon;
    }

    /**
     * 设置图标
     *
     * @param menuIcon 图标
     */
    public void setMenuIcon(String menuIcon) {
        this.menuIcon = menuIcon;
    }

    /**
     * 返回层级关系
     *
     * @return MENU_LEVEL
     */
    public Integer getMenuLevel() {
        return menuLevel;
    }

    /**
     * 设置层级关系
     *
     * @param menuLevel 层级关系
     */
    public void setMenuLevel(Integer menuLevel) {
        this.menuLevel = menuLevel;
    }

    /**
     * 返回链接标识
     *
     * @return MID
     */
    public Integer getMid() {
        return mid;
    }

    /**
     * 设置链接标识
     *
     * @param mid 链接标识
     */
    public void setMid(Integer mid) {
        this.mid = mid;
    }

    /**
     * 返回是否启用
     *
     * @return DISABLE
     */
    public Integer getDisable() {
        return disable;
    }

    /**
     * 设置是否启用
     *
     * @param disable 是否启用
     */
    public void setDisable(Integer disable) {
        this.disable = disable;
    }

    /**
     * 返回操作人
     *
     * @return OPERATOR
     */
    public String getOperator() {
        return operator;
    }

    /**
     * 设置操作人
     *
     * @param operator 操作人
     */
    public void setOperator(String operator) {
        this.operator = operator;
    }

    /**
     * 返回操作时间
     *
     * @return CREATE_TIME
     */
    public Date getCreateTime() {
        return createTime;
    }

    /**
     * 设置操作时间
     *
     * @param createTime 操作时间
     */
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    /**
     * 返回更新时间
     *
     * @return UPDATE_TIME
     */
    public Date getUpdateTime() {
        return updateTime;
    }

    /**
     * 设置更新时间
     *
     * @param updateTime 更新时间
     */
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Override
    public String toString() {
        return JSONUtils.object2Json(this);
    }
}